/**
 * @author Zvonimir Fras <zvonimir@frasbros.com>
 */

#ifndef SYNAPSE_H
#define SYNAPSE_H

#include <QObject>

#include <ctime>
#include <cstdlib>

class Neuron;

class Synapse : public QObject
{
   public:
      Synapse( QObject *parent = 0 );
      
      void setWeight( float weight );
      void setRandomWeight();
      float weight();
      
      void prependNeuron( Neuron *neuron );
      void appendNeuron( Neuron *neuron );
      
      Neuron *leftNeuron();
      Neuron *rightNeuron();
      
   private:
      float m_weight;
      Neuron *m_left;
      Neuron *m_right;
};

#endif // SYNAPSE_H
